package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * 人员管理对象 zone_employees
 * 
 * @author liuyang
 * @date 2025-11-04
 */
public class Employees extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识 */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String empName;

    /** 性别 0-男 1-女 */
    @Excel(name = "性别", readConverterExp = "0=男,1=女")
    private Long sex;

    /** 人员类型 */
    @Excel(name = "职位", readConverterExp = "1=钥匙员,2=密码员,3=开锁员,4=押运员,5=司机,6=业务员,7=清分员,8=技防人员,9=其他")
    private Long empType;

    /** 身份证号 */
    @Excel(name = "身份证号码")
    private String idno;

    /** 手机号 */
    @Excel(name = "手机号码")
    private String mobile;

    /** 工号 */
    @Excel(name = "工号")
    private String empNo;

    /** 在职状态 */
    @Excel(name = "在职状态")
    private Integer employmentStatus;

    /** 区域ID，可关联区域表 */
    @Excel(name = "区域ID，可关联区域表")
    private Long areaId;

    /** 服务证 */
    @Excel(name = "服务证")
    private String serviceCertificate;

    /** 所属机构,关联机构表 */
    @Excel(name = "所属机构")
    private Long organizationId;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private Long departmentId;

    /** 微信账号 */
    @Excel(name = "微信账号")
    private String wxId;

    /** 持枪证号 */
    @Excel(name = "持枪证号")
    private String firearmCertNo;

    /** 保安证号 */
    @Excel(name = "保安证号")
    private String securityCertNo;

    /** 授权状态（0:未授权 1:已授权 2:过期） */
    @Excel(name = "授权状态", readConverterExp = "0=:未授权,1=:已授权,2=:过期")
    private String authorizeStatus;

    /** 是否授权 */
    @Excel(name = "是否授权")
    private String isAuthorized;
    /** 授权银行名称 */
    @Excel(name = "授权银行名称")
    private String authorizeBank;

    /** 身份验证指纹 */
    @Excel(name = "身份验证指纹")
    private String identityFingerprint;

    /** 备用身份验证指纹 */
    @Excel(name = "备用身份验证指纹")
    private String backupFingerprint;

    /** 胁迫验证指纹 */
    @Excel(name = "胁迫验证指纹")
    private String duressFingerprint;

    /** 头像照片 */
    @Excel(name = "头像照片")
    private String photoUrl;

    /** 密码 */
    @Excel(name = "密码")
    private String pdaPwd;

    /** 清分员PDA权限,1:配钞 2:修改钞箱状态,3:all */
    @Excel(name = "清分员PDA权限,1:配钞 2:修改钞箱状态,3:all")
    private Long pdaPermis;

    /** 清机员状态(0：停用，1启用) */
    @Excel(name = "清机员状态(0：停用，1启用)")
    private Long clearmanStatus;

    /** 是否为车长（0 - 不是，1 - 是） */
    @Excel(name = "是否为车长", readConverterExp = "N=否,Y=是")
    private String isRouteLeader;

    /** 业务类型， ATM业务，早送晚收业务 */
    @Excel(name = "所属业务")
    private Long businessType;

    /** 最后一次登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 是否兼职 */
    @Excel(name = "是否兼职")
    private String isPartTime;

    /** 逻辑删除 */
    private Long deleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setEmpName(String empName) 
    {
        this.empName = empName;
    }

    public String getEmpName() 
    {
        return empName;
    }

    public void setSex(Long sex) 
    {
        this.sex = sex;
    }

    public Long getSex() 
    {
        return sex;
    }

    public void setEmpType(Long empType) {
        this.empType = empType;
    }

    public Long getEmpType() {
        return empType; // 返回默认值0
    }

    public void setIdno(String idno) 
    {
        this.idno = idno;
    }

    public String getIdno() 
    {
        return idno;
    }

    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }

    public void setEmpNo(String empNo) 
    {
        this.empNo = empNo;
    }

    public String getEmpNo() 
    {
        return empNo;
    }

    public void setEmploymentStatus(Integer employmentStatus) { this.employmentStatus = employmentStatus; }

    public Integer getEmploymentStatus() { return employmentStatus; }

    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }

    public void setServiceCertificate(String serviceCertificate) 
    {
        this.serviceCertificate = serviceCertificate;
    }

    public String getServiceCertificate() 
    {
        return serviceCertificate;
    }

    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }

    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }

    public void setWxId(String wxId) 
    {
        this.wxId = wxId;
    }

    public String getWxId() 
    {
        return wxId;
    }

    public void setFirearmCertNo(String firearmCertNo) 
    {
        this.firearmCertNo = firearmCertNo;
    }

    public String getFirearmCertNo() 
    {
        return firearmCertNo;
    }

    public void setSecurityCertNo(String securityCertNo) 
    {
        this.securityCertNo = securityCertNo;
    }

    public String getSecurityCertNo() 
    {
        return securityCertNo;
    }

    public void setAuthorizeStatus(String authorizeStatus) 
    {
        this.authorizeStatus = authorizeStatus;
    }

    public String getAuthorizeStatus() 
    {
        return authorizeStatus;
    }

    public void setIsAuthorized(String isAuthorized) 
    {
        this.isAuthorized = isAuthorized;
    }

    public String getIsAuthorized() 
    {
        return isAuthorized;
    }

    public void setAuthorizeBank(String authorizeBank) 
    {
        this.authorizeBank = authorizeBank;
    }

    public String getAuthorizeBank() 
    {
        return authorizeBank;
    }

    public void setIdentityFingerprint(String identityFingerprint) 
    {
        this.identityFingerprint = identityFingerprint;
    }

    public String getIdentityFingerprint() 
    {
        return identityFingerprint;
    }

    public void setBackupFingerprint(String backupFingerprint) 
    {
        this.backupFingerprint = backupFingerprint;
    }

    public String getBackupFingerprint() 
    {
        return backupFingerprint;
    }

    public void setDuressFingerprint(String duressFingerprint) 
    {
        this.duressFingerprint = duressFingerprint;
    }

    public String getDuressFingerprint() 
    {
        return duressFingerprint;
    }

    public void setPhotoUrl(String photoUrl) 
    {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrl() 
    {
        return photoUrl;
    }

    public void setPdaPwd(String pdaPwd) 
    {
        this.pdaPwd = pdaPwd;
    }

    public String getPdaPwd() 
    {
        return pdaPwd;
    }

    public void setPdaPermis(Long pdaPermis) 
    {
        this.pdaPermis = pdaPermis;
    }

    public Long getPdaPermis() 
    {
        return pdaPermis;
    }

    public void setClearmanStatus(Long clearmanStatus) 
    {
        this.clearmanStatus = clearmanStatus;
    }

    public Long getClearmanStatus() 
    {
        return clearmanStatus;
    }

    public void setIsRouteLeader(String isRouteLeader) 
    {
        this.isRouteLeader = isRouteLeader;
    }

    public String getIsRouteLeader() 
    {
        return isRouteLeader;
    }

    public void setBusinessType(Long businessType) 
    {
        this.businessType = businessType;
    }

    public Long getBusinessType() 
    {
        return businessType;
    }

    public void setLastLoginTime(Date lastLoginTime) 
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime() 
    {
        return lastLoginTime;
    }

    public void setIsPartTime(String isPartTime) 
    {
        this.isPartTime = isPartTime;
    }

    public String getIsPartTime() 
    {
        return isPartTime;
    }

    public void setDeleted(Long deleted) 
    {
        this.deleted = deleted;
    }

    public Long getDeleted() 
    {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("empName", getEmpName())
            .append("sex", getSex())
            .append("empType", getEmpType())
            .append("idno", getIdno())
            .append("mobile", getMobile())
            .append("empNo", getEmpNo())
            .append("employmentStatus", getEmploymentStatus())
            .append("areaId", getAreaId())
            .append("serviceCertificate", getServiceCertificate())
            .append("organizationId", getOrganizationId())
            .append("departmentId", getDepartmentId())
            .append("wxId", getWxId())
            .append("firearmCertNo", getFirearmCertNo())
            .append("securityCertNo", getSecurityCertNo())
            .append("authorizeStatus", getAuthorizeStatus())
            .append("isAuthorized", getIsAuthorized())
            .append("authorizeBank", getAuthorizeBank())
            .append("identityFingerprint", getIdentityFingerprint())
            .append("backupFingerprint", getBackupFingerprint())
            .append("duressFingerprint", getDuressFingerprint())
            .append("photoUrl", getPhotoUrl())
            .append("pdaPwd", getPdaPwd())
            .append("pdaPermis", getPdaPermis())
            .append("clearmanStatus", getClearmanStatus())
            .append("isRouteLeader", getIsRouteLeader())
            .append("businessType", getBusinessType())
            .append("lastLoginTime", getLastLoginTime())
            .append("isPartTime", getIsPartTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("deleted", getDeleted())
            .toString();
    }
}
